QuickSight ユーザーで自分自身のロールを変更する
コーヒーが好きな emi です。
QuickSight には、QuickSight のアセットに対する権限を設定する IAM とは異なる QuickSight 独自のロールがあります。
QuickSight 独自のロール
QuickSight では以下のようなロールが 6 種類用意されており、アセットに対して実行できるアクションを制限できます。
1 | Admin | 管理者 | QuickSight ユーザーとアカウントレベルの設定を管理し、アカウントの SPICE キャパシティーと年間サブスクリプションを購入できるユーザー。QuickSight のすべての作成機能を利用でき、必要に応じてアカウントを Standard Edition から Enterprise Edition にアップグレードできる。 請求上、QuickSight の作成者と管理者はどちらも「作成者」として認識される。 |
2 | Author | 作成者 | データソースへの接続、分析の作成、ダッシュボードの作成ができるユーザー。パラメータや計算フィールドといった QuickSight の高度な機能を利用してインタラクティブなダッシュボードを作成し、ダッシュボードをアカウント内の別のユーザーに公開できる。 |
3 | Reader | 閲覧者 | インタラクティブなダッシュボードを利用するユーザー。ウェブブラウザやモバイルアプリケーションから共有されたダッシュボードの閲覧、データのフィルタリング、詳細情報へのドリルダウン、CSV ファイルでのデータエクスポートを行う。閲覧者には SPICE 容量は割り当てられない。 |
4 | Admin Pro | 管理者プロ | 管理者のすべての機能が含まれているほか、自然言語によるダッシュボードの構築、Q トピックの作成、エグゼクティブダッシュボードの概要、生成データストーリーの構築と共有の機能を含む Amazon Q の生成 BI が追加されている。 |
5 | Author Pro | 著者プロ | 作成者のすべての機能が含まれているほか、自然言語によるダッシュボードの構築、Q トピックの作成、エグゼクティブダッシュボードの概要、生成データストーリーの構築と共有の機能を含む Amazon Q の生成 BI が追加されている。 |
6 | Reader Pro | リーダープロ | 閲覧者のすべての機能に加え、エグゼクティブダッシュボードの概要や生成データストーリーを構築および共有する機能など、Amazon Q の生成 BI 機能が含まれる。 |
管理者ロール、管理者プロロールのユーザーであれば、QuickSight コンソールのユーザーページから各ユーザーのロールの変更ができます。しかし、ログインしている自分自身のロールは変更できません。
QuickSight コンソールで自分自身のロールを変更するために別途管理者以上の権限を持つロールのユーザーを作成すると、そのユーザーの料金が追加でかかってしまいます。
そこで、AWS CLI で自分自身のロールを変更できないか試したところ、できたので手順を紹介します。
QuickSight アカウント有効化(作成)直後の様子
バージニア北部リージョンで QuickSight アカウントを作成しています。デフォルトのエンタープライズエディションです。
認証方法はデフォルトの「IAM フェデレーティッド ID と QuickSight で管理されたユーザーを使用する」を選択しており、自身は IAM 権限を持っています。
QuickSight アカウントを作成したユーザーは自動的に「管理者(ADMIN)」ロールになっています。
コンソールを見ると、バージニア北部リージョンでは 2023 年に GA した Q in QuickSight の機能である「トピック」と「Data Stories」が見えています。
しかし、ロールが「管理者(ADMIN)」であるため、権限が足りず、トピックやデータストーリーの作成ボタンは表示されていません。
トピックやデータストーリーの作成を行うには「プロ」ロールである必要があります。
既存の設定確認
[QuickSight の管理] より、QuickSight の管理ページに遷移します。
QuickSight アカウントを作成した直後は以下のように、連絡先情報(アカウント通知用メールアドレス)に設定したメールアドレスで自身のロールが作成されており、ロールは「管理者(ADMIN)」となっていて、クリックできず、ロールは自分で変更できないようになっています。
「アカウント設定」では連絡先情報(アカウント通知用メールアドレス)に設定したメールアドレスが確認できます。
自分自身のロールを AWS CLI でプロロールに変更する
自分自身のロールを AWS CLI で変更していきます。
AWS CLI は CloudShell で実行します。今回は Q in QuickSight 利用のためバージニア北部リージョンを使用しているので、CloudShell を実行するリージョンに注意です。
まずは describe-user コマンドで、現在のユーザー情報を取得します。
aws quicksight describe-user \
--user-name <ユーザー名> \
--aws-account-id 123456789012 \
--namespace default
▼実行結果
[cloudshell-user@ip-10-140-97-149 ~]$ aws quicksight describe-user \
> --user-name kitani.emi \
> --aws-account-id 123456789012 \
> --namespace default
{
"Status": 200,
"User": {
"Arn": "arn:aws:quicksight:us-east-1:123456789012:user/default/kitani.emi",
"UserName": "kitani.emi",
"Email": "<通知用メールアドレス@example.com>",
"Role": "ADMIN",
"IdentityType": "IAM",
"Active": true,
"PrincipalId": "federated/iam/AROA2VNNGI5TSUPTLHR2B:xxx"
},
"RequestId": "8f7c2397-dcff-4b9a-aaef-97ce90db723a"
}
[cloudshell-user@ip-10-140-97-149 ~]$
"Role": "ADMIN",
となっており、管理者ロールであることが確認できます。
では、update-user コマンドで変更をかけます。
今回はロールを ADMIN_PRO
に変更し、通知用メールアドレスをユーザー個別のものに変更します。
aws quicksight update-user \
--user-name <ユーザー名> \
--aws-account-id 123456789012 \
--namespace default \
--email <業務用メールアドレス@example.com> \
--role ADMIN_PRO
▼実行結果
[cloudshell-user@ip-10-140-97-149 ~]$ aws quicksight update-user \
> --user-name kitani.emi \
> --aws-account-id 123456789012 \
> --namespace default \
> --email <業務用メールアドレス@example.com> \
> --role ADMIN_PRO
{
"Status": 200,
"User": {
"Arn": "arn:aws:quicksight:us-east-1:123456789012:user/default/kitani.emi",
"UserName": "kitani.emi",
"Email": "<業務用メールアドレス@example.com>",
"Role": "ADMIN_PRO",
"IdentityType": "IAM",
"Active": true,
"PrincipalId": "federated/iam/AROA2VNNGI5TSUPTLHR2B:xxx"
},
"RequestId": "f23458a4-db92-4943-9be8-a1f25908ae08"
}
[cloudshell-user@ip-10-140-97-149 ~]$
メールアドレスとロールが変更されました。
変更後の確認
ユーザー管理ページを見ると、ロールが管理者プロに変わっています。メールアドレスも変更できています。
QuickSight アカウント自体の通知用メールアドレスは変わらずです。
新しいトピックやデータストーリーの作成ボタンが表示されるようになっており、正常にプロロールが効いていることが分かります。
終わりに
AWS CLI を使えば自分自身の QuickSight ロールが変更できることが確認できました。
他の人にロールの変更を依頼しなくても自分自身で変更できて良いです。
もしうっかり QuickSight アカウントから管理者ロールのユーザーがいなくなってしまった場合も、AWS CLI からロールを変更してやればよいです。
質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。
参考